<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="css/app.css" >
    <title>Pebble Benchmarks</title>
  </head>
  <body>
    <div class="center rows">
      <div class="section">
        <div class="columns">
          <div class="title">Pebble Benchmarks</div>
          <div class="updated">Last updated</div>
        </div>
        <br/>
        <div class="columns">
          <div class="overview">
            Benchmarks are run nightly using <a class="code"
            href="https://github.com/cockroachdb/pebble/blob/master/cmd/pebble/ycsb.go">pebble
            bench ycsb</a> on AWS c5d.4xlarge machines equipped with
            local SSD storage. The AWS instances show remarkably high
            instance to instance performance variability. In order to
            smooth out that variability the benchmarks are run multiple
            times each (using difference instances) and outliers are
            excluded.
          </div>
          <div>
            <div class="controls">
              <b>Detail:</b>
              <a id="readBytes" class="toggle">Bytes Read</a> |
              <a id="writeBytes" class="toggle">Bytes Written</a> |
              <a id="readAmp" class="toggle">Read Amp</a> |
              <a id="writeAmp" class="toggle">Write Amp</a>
            </div>
            <div class="controls">
              <b>Options:</b>
              <a id="localMax">Local scale</a>
            </div>
          </div>
        </div>
        <hr class="divider"/>
        <div class="annotation" data-date="20200614">L0-sublevels and
        flush-splits enabled</div>
        <div class="annotation" data-date="20200604">Increased
        LogWriter free blocks 4-&gt;16</div>
        <div class="annotation" data-date="20200706">Began tracking
        ycsb/E read-amp</div>
        <div class="annotation" data-date="20201022">Level metadata
        switched to use a B-Tree</div>
        <div class="annotation" data-date="20201222">Enabled
        read-triggered compactions</div>
        <div class="annotation" data-date="20210113">Readahead
        and preallocation bug fixed</div>
      </div>
      <div class="section rows">
        <div>
          <span class="subtitle">YCSB A</span>
          <span>(50% reads, 50% updates, zipf key distribution)</span>
        </div>
        <div class="columns">
          <svg class="chart" data-key="ycsb/A/values=64"></svg>
          <svg class="chart" data-key="ycsb/A/values=1024"></svg>
        </div>
      </div>
      <div class="section rows">
        <div>
          <span class="subtitle">YCSB B</span>
          <span>(95 reads, 5% updates, zipf key distribution)</span>
        </div>
        <div class="columns">
          <svg class="chart left" data-key="ycsb/B/values=64"></svg>
          <svg class="chart right" data-key="ycsb/B/values=1024"></svg>
        </div>
      </div>
      <div class="section rows">
        <div>
          <span class="subtitle">YCSB C</span>
          <span>(100% reads, zipf key distribution)</span>
        </div>
        <div class="columns">
          <svg class="chart left" data-key="ycsb/C/values=64"></svg>
          <svg class="chart right" data-key="ycsb/C/values=1024"></svg>
        </div>
      </div>
      <div class="section rows">
        <div>
          <span class="subtitle">YCSB D</span>
          <span>(95% reads, 5% updates, uniform key distribution)</span>
        </div>
        <div class="columns">
          <svg class="chart left" data-key="ycsb/D/values=64"></svg>
          <svg class="chart right" data-key="ycsb/D/values=1024"></svg>
        </div>
      </div>
      <div class="section rows">
        <div>
          <span class="subtitle">YCSB E</span>
          <span>(95% scans, 5% updates, zipf key distribution)</span>
        </div>
        <div class="columns">
          <svg class="chart left" data-key="ycsb/E/values=64"></svg>
          <svg class="chart right" data-key="ycsb/E/values=1024"></svg>
        </div>
      </div>
      <div class="section rows">
        <div>
          <span class="subtitle">Insert-only</span>
          <span>(100% inserts, zipf key distribution)</span>
        </div>
        <div class="columns">
          <svg class="chart left" data-key="ycsb/F/values=64"></svg>
          <svg class="chart right" data-key="ycsb/F/values=1024"></svg>
        </div>
      </div>
    </div>
    <script src="js/d3.v5.min.js"></script>
    <script src="https://pebble-benchmarks.s3.amazonaws.com/data.js"></script>
    <script src="js/app.js"></script>
</html>
